package com.grao.waterschool.human.manager.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.grao.waterschool.human.common.R;
import com.grao.waterschool.human.entiry.dto.CourseHistoryDto;
import com.grao.waterschool.human.entiry.dto.CourseHistoryListDto;
import com.grao.waterschool.human.entiry.dto.GetCourseHistory;
import com.grao.waterschool.human.entiry.po.SchoolCourseHistory;
import com.grao.waterschool.human.entiry.vo.AvgInfo;
import com.grao.waterschool.human.entiry.vo.CourseHistoryVO;
import com.grao.waterschool.human.entiry.vo.HistoryUpdateInfo;
import org.springframework.boot.configurationprocessor.json.JSONException;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public interface CourseHistoryService {

    R insertCourseHistory(CourseHistoryDto courseHistoryDto);

    R deleteCourseHistory(String courseHistoryId);

    Page<SchoolCourseHistory> getCourseHistory(GetCourseHistory getCourseHistory);

    void getPicObject(String picName, HttpServletResponse response) throws Exception;

    R updateCourseHistory(CourseHistoryListDto courseHistoryListDto);

    Page<SchoolCourseHistory> getCourseHistoryByType(GetCourseHistory getCourseHistory);

    CourseHistoryVO getCourseHistoryById(Integer courseHistoryId);

    List<AvgInfo> getAvgBycollege(CourseHistoryDto courseHistoryDto);

    void outPutCourseHistory(GetCourseHistory getCourseHistory, HttpServletResponse response) throws IOException;
}
